package com.lipaluma.test.db.annotations.assertions;

import java.lang.annotation.Documented;
import java.lang.annotation.Inherited;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;

import com.lipaluma.test.db.internal.assertions.ColumnType;


@Documented
@Inherited
@Retention(RetentionPolicy.RUNTIME)
public @interface Column {

	/**
	 * name of the column of the table to test
	 */
	String name();
	
	/**
	 * expected value of the column
	 */
	String expected();

	/**
	 * column type
	 */
	ColumnType type() default ColumnType.STRING;
	
	/**
	 * null value to use in expected value.
	 * 
	 * @return
	 */
	String nullValue() default "NULL";
}
